package com.oxymore.jbnetapi.wow.character;


import com.google.gson.annotations.SerializedName;
import com.oxymore.jbnetapi.core.ApiResponse;
import com.oxymore.jbnetapi.wow.character.items.CharItems;
import com.oxymore.jbnetapi.wow.character.professions.Professions;
import com.oxymore.jbnetapi.wow.character.progression.Progression;
import java.util.List;

/**
 * Contains all the informations on a character
 * 
 * @author Valentin
 * 
 */
public class Profile extends ApiResponse {
    private String realm;
    private String name;
    private int level;
    private long lastModified;
    private String thumbnail;
    private int achievementPoints;
    private int gender;
    private int race;
    @SerializedName("class")
    private int classe;
    private List quests;
    private Stats stats;
    private Guild guild;
    private CharItems items;
    private Professions professions;
    private List companions;
    private Appearance appearance;
    private List mounts;
    private List pets;
    private Progression progression;

    public String getRealm() {
        return realm;
    }

    public void setRealm(String realm) {
        this.realm = realm;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getLevel() {
        return level;
    }

    public void setLevel(int level) {
        this.level = level;
    }

    public long getLastModified() {
        return lastModified;
    }

    public void setLastModified(long lastModified) {
        this.lastModified = lastModified;
    }

    public String getThumbnail() {
        return thumbnail;
    }

    public void setThumbnail(String thumbnail) {
        this.thumbnail = thumbnail;
    }

    public int getAchievementPoints() {
        return achievementPoints;
    }

    public void setAchievementPoints(int achievementPoints) {
        this.achievementPoints = achievementPoints;
    }

    public int getRace() {
        return race;
    }

    public void setRace(int race) {
        this.race = race;
    }

    public int getClasse() {
        return classe;
    }

    public void setClasse(int classe) {
        this.classe = classe;
    }

    public List getQuests() {
        return quests;
    }

    public void setQuests(List quests) {
        this.quests = quests;
    }

    public Stats getStats() {
        return stats;
    }

    public void setStats(Stats stats) {
        this.stats = stats;
    }

    @Override
    public String toString() {
        return "Profile [realm=" + realm + ", name=" + name + ", level="
                + level + ", lastModified=" + lastModified + ", thumbnail="
                + thumbnail + ", achievementPoints=" + achievementPoints
                + ", gender=" + gender + ", race=" + race + ", classe="
                + classe + ", quests=" + quests + ", stats=" + stats
                + ", guild=" + guild + ", items=" + items + ", professions="
                + professions + ", companions=" + companions + ", appearance="
                + appearance + ", mounts=" + mounts + ", pets=" + pets
                + ", progression=" + progression + "]";
    }

    public Guild getGuild() {
        return guild;
    }

    public void setGuild(Guild guild) {
        this.guild = guild;
    }

    public CharItems getItems() {
        return items;
    }

    public void setItems(CharItems items) {
        this.items = items;
    }

    public Professions getProfessions() {
        return professions;
    }

    public void setProfessions(Professions professions) {
        this.professions = professions;
    }

    public List getCompanions() {
        return companions;
    }

    public void setCompanions(List companions) {
        this.companions = companions;
    }

    public Appearance getAppearance() {
        return appearance;
    }

    public void setAppearance(Appearance appearance) {
        this.appearance = appearance;
    }

    public List getMounts() {
        return mounts;
    }

    public void setMounts(List mounts) {
        this.mounts = mounts;
    }

    public List getPets() {
        return pets;
    }

    public void setPets(List pets) {
        this.pets = pets;
    }

    public Progression getProgression() {
        return progression;
    }

    public void setProgression(Progression progression) {
        this.progression = progression;
    }

    public int getGender() {
        return gender;
    }

    public void setGender(int gender) {
        this.gender = gender;
    }
}
